package com.china08.yxyapi.entity.mg.attendance;

import java.util.Date;

import javax.persistence.Id;

import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

import com.china08.yxyapi.entity.mg.MongoBaseEntityNoId;

/**
 * 每个教师每天的打卡统计表.
 */
@SuppressWarnings("serial")
@Document(collection = "yxy.tea.attendance.statistics")
public class YxyTeaAttendanceStatistics extends MongoBaseEntityNoId {

    /** id生成不要使用随机数, 使用教师id+学校id+8位日期组成. */
    @Id
    private String id;

    /** 签到日期, 存储20170412格式. */
    @Field(value = "day_of_date")
    private Integer dayOfDate;

    /** 签到日期, 存储为日期类型 */
    @Field(value = "date")
    private Date date;

    /** The teacher id. */
    @Field(value = "teacher_id")
    private String teacherId;

    /** The teacher name. */
    @Field(value = "teacher_name")
    private String teacherName;

    /** The school id. */
    @Field(value = "school_id")
    private String schoolId;

    /** The school name. */
    @Field(value = "school_name")
    private String schoolName;

    /**
     * 今天需要签到次数, 从学校的配置表中获取.
     */
    @Field(value = "times")
    private String times;

    /** 存储星期一, 星期二 , 星期三 ,星期四 , 星期五 ,星期六,星期日. */
    @Field(value = "week_of_date")
    private String weekOfDate;

    /** 签到时间, */
    @Field(value = "sign_time1")
    private Date signTime1;

    /** The sign status1. 签到状态.0-未打卡, 1-正常打卡, 2-迟到, 3-早退 */
    @Field(value = "sign_status1")
    private Integer signStatus1 = 0;

    /** The sign time2. */
    @Field(value = "sign_time2")
    private Date signTime2;

    /** The sign status2. 签到状态.0-未打卡, 1-正常打卡, 2-迟到, 3-早退 */
    @Field(value = "sign_status2")
    private Integer signStatus2 = 0;

    /** The sign time3. */
    @Field(value = "sign_time3")
    private Date signTime3;

    /** The sign status3.签到状态.0-未打卡, 1-正常打卡, 2-迟到, 3-早退 */
    @Field(value = "sign_status3")
    private Integer signStatus3 = 0;

    /** The sign time4. */
    @Field(value = "sign_time4")
    private Date signTime4;

    /** The sign status4.签到状态.0-未打卡, 1-正常打卡, 2-迟到, 3-早退 */
    @Field(value = "sign_status4")
    private Integer signStatus4 = 0;

    /** The sign time5. */
    @Field(value = "sing_time5")
    private Date signTime5;

    /** The sign status5. 签到状态.0-未打卡, 1-正常打卡, 2-迟到, 3-早退 */
    @Field(value = "sign_status5")
    private Integer signStatus5 = 0;

    /** The sign time6. */
    @Field(value = "sign_time6")
    private Date signTime6;

    /** The sign status6. 签到状态.0-未打卡, 1-正常打卡, 2-迟到, 3-早退 */
    @Field(value = "sign_status6")
    private Integer signStatus6 = 0;

    /** The sign time7. */
    @Field(value = "sign_time7")
    private Date signTime7;

    /** The sign status7. 签到状态.0-未打卡, 1-正常打卡, 2-迟到, 3-早退 */
    @Field(value = "sign_status7")
    private Integer signStatus7 = 0;

    /** The sign time8. */
    @Field(value = "sign_time8")
    private Date signTime8;

    /** The sign status8.签到状态.0-未打卡, 1-正常打卡, 2-迟到, 3-早退 */
    @Field(value = "sign_status8")
    private Integer signStatus8 = 0;

    /**
     * 是否为节假日 1-假日 0-非假日
     */
    @Field(value = "is_hosliday")
    private Integer isHoliday = 0;

    /**
     * 假日描述
     */
    @Field(value = "holiday_description")
    private String holidayDescription;

    /**
     * Gets the id.
     *
     * @return the id
     */
    public String getId() {
        return id;
    }

    /**
     * Sets the id.
     *
     * @param id
     *            the id
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * Gets the teacher id.
     *
     * @return the teacher id
     */
    public String getTeacherId() {
        return teacherId;
    }

    /**
     * Sets the teacher id.
     *
     * @param teacherId
     *            the teacher id
     */
    public void setTeacherId(String teacherId) {
        this.teacherId = teacherId;
    }

    /**
     * Gets the teacher name.
     *
     * @return the teacher name
     */
    public String getTeacherName() {
        return teacherName;
    }

    /**
     * Sets the teacher name.
     *
     * @param teacherName
     *            the teacher name
     */
    public void setTeacherName(String teacherName) {
        this.teacherName = teacherName;
    }

    public String getTimes() {
        return times;
    }

    public void setTimes(String times) {
        this.times = times;
    }

    /**
     * Gets the school id.
     *
     * @return the school id
     */
    public String getSchoolId() {
        return schoolId;
    }

    /**
     * Sets the school id.
     *
     * @param schoolId
     *            the school id
     */
    public void setSchoolId(String schoolId) {
        this.schoolId = schoolId;
    }

    /**
     * Gets the school name.
     *
     * @return the school name
     */
    public String getSchoolName() {
        return schoolName;
    }

    /**
     * Sets the school name.
     *
     * @param schoolName
     *            the school name
     */
    public void setSchoolName(String schoolName) {
        this.schoolName = schoolName;
    }

    /**
     * Gets the day of date.
     *
     * @return the day of date
     */
    public Integer getDayOfDate() {
        return dayOfDate;
    }

    /**
     * Sets the day of date.
     *
     * @param dayOfDate
     *            the day of date
     */
    public void setDayOfDate(Integer dayOfDate) {
        this.dayOfDate = dayOfDate;
    }

    public String getWeekOfDate() {
        return weekOfDate;
    }

    public void setWeekOfDate(String weekOfDate) {
        this.weekOfDate = weekOfDate;
    }

    public Date getSignTime1() {
        return signTime1;
    }

    public void setSignTime1(Date signTime1) {
        this.signTime1 = signTime1;
    }

    public Integer getSignStatus1() {
        return signStatus1;
    }

    public void setSignStatus1(Integer signStatus1) {
        this.signStatus1 = signStatus1;
    }

    public Date getSignTime2() {
        return signTime2;
    }

    public void setSignTime2(Date signTime2) {
        this.signTime2 = signTime2;
    }

    public Integer getSignStatus2() {
        return signStatus2;
    }

    public void setSignStatus2(Integer signStatus2) {
        this.signStatus2 = signStatus2;
    }

    public Date getSignTime3() {
        return signTime3;
    }

    public void setSignTime3(Date signTime3) {
        this.signTime3 = signTime3;
    }

    public Integer getSignStatus3() {
        return signStatus3;
    }

    public void setSignStatus3(Integer signStatus3) {
        this.signStatus3 = signStatus3;
    }

    public Date getSignTime4() {
        return signTime4;
    }

    public void setSignTime4(Date signTime4) {
        this.signTime4 = signTime4;
    }

    public Integer getSignStatus4() {
        return signStatus4;
    }

    public void setSignStatus4(Integer signStatus4) {
        this.signStatus4 = signStatus4;
    }

    public Date getSignTime5() {
        return signTime5;
    }

    public void setSignTime5(Date signTime5) {
        this.signTime5 = signTime5;
    }

    public Integer getSignStatus5() {
        return signStatus5;
    }

    public void setSignStatus5(Integer signStatus5) {
        this.signStatus5 = signStatus5;
    }

    public Date getSignTime6() {
        return signTime6;
    }

    public void setSignTime6(Date signTime6) {
        this.signTime6 = signTime6;
    }

    public Integer getSignStatus6() {
        return signStatus6;
    }

    public void setSignStatus6(Integer signStatus6) {
        this.signStatus6 = signStatus6;
    }

    public Date getSignTime7() {
        return signTime7;
    }

    public void setSignTime7(Date signTime7) {
        this.signTime7 = signTime7;
    }

    public Integer getSignStatus7() {
        return signStatus7;
    }

    public void setSignStatus7(Integer signStatus7) {
        this.signStatus7 = signStatus7;
    }

    public Date getSignTime8() {
        return signTime8;
    }

    public void setSignTime8(Date signTime8) {
        this.signTime8 = signTime8;
    }

    public Integer getSignStatus8() {
        return signStatus8;
    }

    public void setSignStatus8(Integer signStatus8) {
        this.signStatus8 = signStatus8;
    }

    public Integer getIsHoliday() {
        return isHoliday;
    }

    public void setIsHoliday(Integer isHoliday) {
        this.isHoliday = isHoliday;
    }

    public String getHolidayDescription() {
        return holidayDescription;
    }

    public void setHolidayDescription(String holidayDescription) {
        this.holidayDescription = holidayDescription;
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

}
